﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MixerReport.Objects
{
    /// <summary>
    /// 报表对象
    /// </summary>
    public class ReportObject
    {
        public ReportObject(string deviceName, string material, DateTime recordTime, short step, short elapsedTime, short remainTime, short stirRotateSpeed, float stirRotateActualSpeed,
            short scatteredRotateSpeed, float scatteredRotateActualSpeed, float temperature, float actualTemperature, float pressure, float actualPressure, float materialWeight, 
            float materialActualWeight, float stirCurrent, float scatteredCurrent, float returnWaterTemperature)
        {
            DeviceName = deviceName;
            Material = material;
            RecordTime = recordTime;
            Step = step;
            ElapsedTime = elapsedTime;
            RemainTime = remainTime;
            StirRotateSpeed = stirRotateSpeed;
            StirRotateActualSpeed = stirRotateActualSpeed;
            ScatteredRotateSpeed = scatteredRotateSpeed;
            ScatteredRotateActualSpeed = scatteredRotateActualSpeed;
            Temperature = temperature;
            ActualTemperature = actualTemperature;
            Pressure = pressure;
            ActualPressure = actualPressure;
            MaterialWeight = materialWeight;
            MaterialActualWeight = materialActualWeight;
            StirCurrent = stirCurrent;
            ScatteredCurrent = scatteredCurrent;
            ReturnWaterTemperature = returnWaterTemperature;
        }
        /// <summary>
        /// 序号
        /// </summary>
        public long SerialNumber { get; set; }
        /// <summary>
        /// 设备
        /// </summary>
        public string DeviceName { get; set; } = string.Empty;
        /// <summary>
        /// 记录时间
        /// </summary>
        public DateTime RecordTime { get; set; }
        /// <summary>
        /// 当前工步号
        /// </summary>
        public short Step { get; set; }
        /// <summary>
        /// 原料
        /// </summary>
        public string Material { get; set; } = string.Empty;
        /// <summary>
        /// 当前工步设定时间（分钟）
        /// </summary>
        public short ElapsedTime { get; set; }
        /// <summary>
        /// 当前工步剩余时间（分钟）
        /// </summary>
        public short RemainTime { get; set; }
        /// <summary>
        /// 当前工步搅拌设定转速（rpm）
        /// </summary>
        public short StirRotateSpeed { get; set; }
        /// <summary>
        /// 当前工步搅拌实际转速（rpm）
        /// </summary>
        public float StirRotateActualSpeed { get; set; }
        /// <summary>
        /// 当前工步分散设定转速（rpm）
        /// </summary>
        public short ScatteredRotateSpeed { get; set; }
        /// <summary>
        /// 当前工步分散实际转速（rpm）
        /// </summary>
        public float ScatteredRotateActualSpeed { get; set; }
        /// <summary>
        /// 当前工步温度设定值
        /// </summary>
        public float Temperature { get; set; }
        /// <summary>
        /// 当前工步实际温度（℃）
        /// </summary>
        public float ActualTemperature { get; set; }
        /// <summary>
        /// 当前工步压力设定值
        /// </summary>
        public float Pressure { get; set; }
        /// <summary>
        /// 当前工步实际压力（Kpa）
        /// </summary>
        public float ActualPressure { get; set; }
        /// <summary>
        /// 当前工步材料设定重量（KG）
        /// </summary>
        public float MaterialWeight { get; set; }
        /// <summary>
        /// 当前工步实际加料量（KG）
        /// </summary>
        public float MaterialActualWeight { get; set; }
        /// <summary>
        /// 当前工步搅拌电流
        /// </summary>
        public float StirCurrent { get; set; }
        /// <summary>
        /// 当前工步分散电流
        /// </summary>
        public float ScatteredCurrent { get; set; }
        /// <summary>
        /// 回水温度
        /// </summary>
        public float ReturnWaterTemperature { get; set; }
    }
}
